pub fn new_birthday_probability(n: u32) -> f64 {
    // 如果人数超过 365，概率可以认为是接近 1
    if n > 365 {
        return 1.0;
    }

    // 计算所有人生日都不相同的概率
    let mut probability_no_shared_birthday = 1.0;
    for i in 0..n {
        probability_no_shared_birthday *= (365 - i) as f64 / 365.0;
    }

    // 至少有两个人生日相同的概率
    1.0 - probability_no_shared_birthday
}
